package com.it13.utils.strutil;

/**
 * 字符串工具类
 * @author yzChen
 * @date 2013-5-30 下午3:42:07
 * <pre>
 *	desc:创建
 * </pre>
 */
public class StrUtil {
	
	/**
	 * 给第字符串第一个字母大写
	 * @param str
	 * @return
	 */
	public static String capitalize(String str) {
        int strLen;
        if (str == null || (strLen = str.length()) == 0) {
            return str;
        }
        return new StringBuilder(strLen)
            .append(Character.toTitleCase(str.charAt(0)))
            .append(str.substring(1))
            .toString();
    }

	/**
	 * 使用StringBuilder拼接字符串
	 * @param objects
	 * @return
	 */
	public static String appendSbl(Object... objects) {
		StringBuilder sbl = new StringBuilder();
		for (Object obj : objects) {
			sbl.append(obj);
		}
		return sbl.toString();
	}
	
	/**
	 * 使用StringBuffer拼接字符串
	 * @param objects
	 * @return
	 */
	public static String appendSbf(Object... objects) {
		StringBuffer sbl = new StringBuffer();
		for (Object obj : objects) {
			sbl.append(obj);
		}
		return sbl.toString();
	}
	
	/**
	 * 根据字符串，获取后缀
	 * @param str 
	 * 		若获取不到，返回 null
	 */
	public static String getSuffix(String str) {
		if(null != str && str.lastIndexOf(".") > 0) {
			str = str.substring(str.lastIndexOf("."), str.length());
		} else {
			str = null;
		}
		return str;
	}
	
	/**
	 * 是否为空字符串
	 * @param str
	 * @return    
	 * @author yzChen  cyzshenzhen@163.com
	 * @date 2013-9-22 下午5:11:10
	 */
	public static boolean isEmpty(String str) {
		return str == null || str.length() == 0;
	}
	
	/**
	 * 是否为非空字符串
	 * @param str
	 * @return    
	 * @author yzChen  cyzshenzhen@163.com
	 * @date 2013-9-22 下午5:11:23
	 */
	public static boolean isNotEmpty(String str) {
		return !isEmpty(str);
	}
	
	/**
	 * 是否为空白字符串
	 * @param str
	 * @return    
	 * @author yzChen  cyzshenzhen@163.com
	 * @date 2013-9-22 下午5:11:33
	 */
	public static boolean isBlank(String str) {
		int strLen;
		if (str == null || (strLen = str.length()) == 0) {
			return true;
		}
		for (int i = 0; i < strLen; i++) {
			if ((Character.isWhitespace(str.charAt(i)) == false)) {
				return false;
			}
		}
		return true;
	}
	
	/**
	 * 是否为非空白字符串
	 * @param str
	 * @return    
	 * @author yzChen  cyzshenzhen@163.com
	 * @date 2013-9-22 下午5:11:41
	 */
	public static boolean isNotBlank(String str) {
		return !isBlank(str);
	}
	
}
